/*LIS Cross-section Data center in Luxembourg*/

/*email: usersupport@lisdatacenter.org*/

/*LIS Self Teaching Package 2022*/
/*Part I: Inequality, poverty, and social policy*/
/*SAS version*/

/*last change of this version of the syntax: 15-01-2022*/

/*Exercise 5: Relative poverty rates*/

OPTIONS NOFMTERR NONOTES NOSOURCE NODATE NONUMBER NOCENTER LABEL LS=MAX PS=MAX;
TITLE "";

DATA current ;
 SET &gt06h (KEEP=dhi hifactor hpub_i hpub_u hpub_a hiprivate hxitsc hpopwgt nhhmem grossnet did) ;
	miss_comp = 0 ;
	IF 	(dhi=. | hpub_i=. | hpub_a=. | hpub_u=. | hiprivate=. | hxitsc=.) THEN miss_comp = 1 ;
	IF miss_comp = 1 THEN DELETE ;
	ipwgt =  hpopwgt*nhhmem ; 
RUN ;

PROC MEANS DATA=current NOPRINT ;
  VAR dhi ;
  WEIGHT hpopwgt ;
OUTPUT OUT=tmp MEDIAN=med;
RUN ;
DATA _NULL_;
 SET tmp;
    CALL SYMPUT("wins",med);
RUN;
DATA current ;
 SET current ;
	dhitb  = dhi ;
	IF dhitb=. THEN DELETE;
	IF (dhi<0)  THEN dhitb=0;
	dhilog=log(dhitb); 
	IF( (dhilog=.)  AND (dhitb^=.) ) THEN dhilog=0;
	RUN;
	PROC SORT DATA=current ;
	  BY did dhilog;
RUN ;
PROC UNIVARIATE DATA=current NOPRINT;
 VAR dhilog   ; 
   WEIGHT hpopwgt; 
    OUTPUT OUT= temp P25=q25   P75=q75; 
RUN ; 
DATA _NULL_; 
  SET temp; 
    CALL SYMPUT("b",q25); 
    CALL SYMPUT("t",q75); 
 RUN; 
DATA current ; 
SET current ;  
iqr=&t-&b; 
upper_bound=&t + (iqr * 3) ; 
lower_bound=&b - (iqr * 3); 
IF dhitb>exp(upper_bound) THEN dhitb=exp(upper_bound) ; 
IF dhitb<exp(lower_bound) THEN dhitb=exp(lower_bound); 
RUN ; 
DATA current ;
 SET current ;
	edhi  = dhitb / SQRT(nhhmem) ;
RUN ;

PROC MEANS DATA=current NOPRINT;
  VAR edhi ;
  WEIGHT ipwgt ;
OUTPUT OUT=temp MEDIAN=mededhi;
RUN ;
DATA _NULL_;
SET temp;
   CALL SYMPUT("m",mededhi);
RUN;
DATA current ;
 SET current ;
	povlin = &m * 0.5 ;
RUN ;
DATA current ;
 SET current ;
	poor   = 0 ;
	IF edhi < povlin THEN poor = 1 ;
RUN ;

TITLE "Relative poverty rate - Household level"; 
PROC FREQ DATA=current;
   TABLES poor ;
   WEIGHT hpopwgt;
RUN  ;
TITLE "Relative poverty rate - Individual level"; 
PROC FREQ DATA=current;
   TABLES poor ;
   WEIGHT ipwgt;
RUN ;
